Azure Cosmos DB for NoSQL Java SDK (レガシ): リリース ノートとリソース

適用対象: NoSQL

この記事では、NoSQL 用 API 用 Azure Cosmos DB Sync Java SDK v2 について説明します。 この API は同期操作のみをサポートします。

重要

これは Azure Cosmos DB 用の最新の Java SDK では "ありません"。 プロジェクトには Azure Cosmos DB Java SDK v4 を使用することを強くお勧めします。 アップグレードするには、Azure Cosmos DB Java SDK v4 への移行に関するガイド、および Reactor と RxJava に関するガイドの手順に従ってください。

警告

2024 年 2 月 29 日に、Azure Cosmos DB Sync Java SDK v2.x は廃止されます。 廃止された後、Azure Cosmos DB でこの SDK のメンテナンスとサポートは提供されなくなります。 Azure Cosmos DB Java SDK v4 に移行するには、こちらの手順に従ってください。

リンク
SDK のダウンロード Maven
API ドキュメント Java API リファレンス ドキュメント
SDK への協力 GitHub
開始するには Java SDK の開始
Web アプリ チュートリアル Azure Cosmos DB を使用した Web アプリケーションの開発
サポートされている最小ランタイム Java Development Kit (JDK) 7+

リリース ノート

SDK の各バージョンのリリース ノートを次に示します。

2.6.5

  • セキュリティの脆弱性が原因でテストの依存関係 com.google.guava/guava が削除されました
  • 依存関係 com.fasterxml.jackson.core/jackson-databind を 2.14.0 にアップグレードしました
  • 依存関係 commons-codec/commons-codec を 1.15 にアップグレードしました
  • 依存関係 org.json/json を 20180130 にアップグレードしました

2.6.4

  • 読み取りタイムアウトの再試行ポリシーを修正しました

2.6.3

  • GoneExceptionIllegalStateException にラップされている場合の再試行ポリシーを修正しました - この変更は、Gateway キャッシュが 410 上で確実に更新されるようにして、Spark コネクタ (Spark 2.4 の場合) がカスタム再試行ポリシーを使用して、パーティション分割中にクエリを成功させるために必要です

2.6.2

  • 読み取りタイムアウト時に再試行を行う新しい再試行ポリシーを追加しました
  • 依存関係 com.fasterxml.jackson.core/jackson-databind を 2.9.10.8 にアップグレードしました
  • 依存関係 org.apache.httpcomponents/httpclient を 4.5.13 にアップグレードしました

2.6.1

  • サービスの相互運用を通じてクエリを処理する際のバグを修正しました。

2.6.0

  • 特定の時点から変更フィードのクエリを実行するためのサポートを追加しました。

2.5.1

  • documentCollection クエリのプライマリ パーティション キャッシュの問題を修正します。

2.5.0

  • 449 再試行カスタム構成のサポートが追加されました。

2.4.7

  • 接続プールのタイムアウト問題を修正します。
  • 内部再試行での認証トークンの更新を修正します。

2.4.6

  • databaseAccount 上の正しいクライアント側レプリカ ポリシー タグが更新され、databaseAccount 構成がキャッシュから読み取られるようになりました。

2.4.5

  • ユーザーが pkRangeId を指定した場合、このバージョンでは無効なパーティション キー範囲エラーの再試行が回避されます

2.4.4

  • パーティション キー範囲のキャッシュ更新を最適化しました。
  • SDK によってサーバーからのパーティション分割のヒントが受け入れられず、クライアント側のルーティング キャッシュが正しく更新されないシナリオを修正します。

2.4.2

  • コレクションのキャッシュ更新を最適化しました。

2.4.1

  • 要求の診断文字列から内部例外メッセージを取得できるようになりました。

2.4.0

  • PartitionKeyDefinition にバージョン API が導入されました。

2.3.0

  • 直接モード用に独立したタイムアウト サポートが追加されました。

2.2.3

  • サービスからの null エラー メッセージを使用して、ドキュメント クライアント例外を生成します。

2.2.2

  • ソケット接続が改良され、SoKeepAlive の既定値 true が追加されました。

2.2.0

  • 要求の診断文字列のサポートが追加されました。

2.1.3

  • ハッシュ V2 の PartitionKey のバグが修正されました。

2.1.2

  • 複合インデックスのサポートが追加されました。
  • グローバル エンドポイント マネージャーが強制的に更新されるように、バグが修正されました。
  • 直接モードの前提条件を使用したアップサート操作のバグを修正しました。

2.1.1

  • ゲートウェイ アドレス キャッシュでのバグが修正されました。

2.1.0

  • 複数リージョンの書き込みサポートが直接モード用に追加されました。
  • プロキシから例外としてServiceUnavailableスローされる処理IOExceptionsのサポートを追加しました。
  • エンドポイントの検出再試行ポリシーのバグが修正されました。
  • BaseDatabaseAccountConfigurationProvider で null ポインター例外がスローされないようにするバグを修正しました。
  • QueryIterator が null を返さないバグを修正しました。
  • 大きな PartitionKey が許可されるようにするバグを修正しました。

2.0.0

  • ゲートウェイ モードに対する複数リージョンの書き込みサポートが追加されました。

1.16.4

  • クエリのパーティション キー範囲の読み取りでのバグが修正されました。

1.16.3

  • DirectHttps モードでの継続トークン ヘッダー サイズの設定に関するバグが修正されました。

1.16.2

  • ストリーミング フェールオーバーのサポートを追加しました。
  • カスタム メタデータのサポートが追加されました。
  • セッション処理ロジックが強化されました。
  • パーティション キー範囲のキャッシュのバグを修正しました。
  • ダイレクト モードでの NullPointerException (NPE) バグを修正しました。

1.16.1

  • 一意なインデックスのサポートが追加されました。
  • フィード オプションに、継続トークンのサイズを制限するためのサポートが追加されました。
  • JSON のシリアル化のバグを修正しました (タイムスタンプ)。
  • JSON のシリアル化のバグを修正しました (列挙)。
  • com.fasterxml.jackson.core:jackson-databind への依存関係が 2.9.5 にアップグレードされました。

1.16.0

  • 直接モードの接続プールが改善されました。
  • nonorderby クロス パーティション クエリのプリフェッチの改善。
  • UUID の生成が強化されました。
  • セッション整合性ロジックが改善されました。
  • マルチポリゴンのサポートが追加されました
  • コレクションに対するパーティション キー範囲の統計のサポートが追加されました。
  • マルチリージョンのサポートでのバグを修正します。

1.15.0

  • JSON シリアル化のパフォーマンスが向上しました。
  • この SDK バージョンには Azure Cosmos DB Emulator の最新バージョンが必要です。

1.14.0

  • Microsoft フレンド ライブラリの内部変更。

1.13.0

  • 単一のパーティション キーの範囲の読み取りに関する問題を修正しました。
  • 短い名前のデータベースに影響する ResourceID の解析に関する問題を修正しました。
  • パーティション キーのエンコードが原因で発生する問題を修正しました。

1.12.0

  • パーティション分割中に処理を要求する重要なバグ修正です。
  • Strong および BoundedStaleness 整合性レベルの問題を修正しました。

1.11.0

  • ConsistentPrefix と呼ばれている新しい一貫性レベルに対応するようになりました。
  • セッション モードのコレクション読み取りのバグを修正しました。

1.10.0

  • 2,500 RU/秒という低いパーティション分割コレクションと、100 RU/秒ずつ増加するスケールのサポートを有効にしました。
  • ネイティブ アセンブリのバグを修正しました。これにより、一部のクエリで NullRef 例外が発生する可能性があります。

1.9.6

  • ゲートウェイ モードでのクエリの例外を引き起こす可能性があるクエリ エンジン構成のバグを修正しました。
  • コレクションの作成直後に要求に対して "所有者リソースが見つかりません" 例外を引き起こす可能性があるセッション コンテナーのいくつかのバグを修正しました。

1.9.5

  • 集計クエリ (COUNT、MIN、MAX、SUM、および AVG) のサポートを追加しました。
  • Change Feed のサポートを追加しました。
  • RequestOptions.setPopulateQuotaInfo を介したコレクション クォータ情報のサポートを追加しました。
  • RequestOptions.setScriptLoggingEnabled を介したストアド プロシージャ スクリプトのログ記録のサポートを追加しました。
  • スロットル エラーが発生したときに DirectHttps モードのクエリが応答しなくなる可能性があるバグを修正しました。
  • セッションの整合性モードのバグを修正しました。
  • 要求レートが高い場合に HttpContext で NullReferenceException が発生する可能性があるバグを修正しました。
  • DirectHttps モードのパフォーマンスを改善しました。

1.9.4

  • ConnectionPolicy.setProxy() API による簡易クライアント インスタンス ベースのプロキシのサポートを追加しました。
  • DocumentClient インスタンスを適切に閉じる DocumentClient.close() API を追加しました。
  • ゲートウェイではなく、ネイティブ アセンブリからクエリ プランを派生することで、直接接続モードでのクエリのパフォーマンスを改善しました。
  • ユーザーがプレーン古い Java オブジェクト (POJO) で JsonIgnoreProperties を定義する必要がないように、FAIL_ON_UNKNOWN_PROPERTIES = false に設定します。
  • SLF4J を使用するためにログ記録をリファクタリングしました。
  • 整合性リーダーの他のいくつかのバグを修正しました。

1.9.3

  • 直接接続モードでの接続リークを防ぐために、接続管理のバグを修正しました。
  • TOP クエリで NullReference 例外がスローされる可能性があるバグを修正しました。
  • 内部キャッシュのネットワーク呼び出しの数を減らすことで、パフォーマンスが向上しました。
  • トラブルシューティングを改善するために、DocumentClientException に状態コード、ActivityID、および要求 URI を追加しました。

1.9.2

  • 安定性を確保するために接続管理の問題を修正しました。

1.9.1

  • BoundedStaleness 一貫性レベルのサポートを追加しました。
  • パーティション分割コレクションの CRUD 操作のための直接接続のサポートを追加しました。
  • SQL を使用したデータベース クエリのバグを修正しました。
  • セッション トークンが正しく設定されない可能性があるセッション キャッシュのバグを修正しました。

1.9.0

  • クロス パーティションの並列クエリのサポートを追加しました。
  • パーティション分割コレクションの TOP/ORDER BY クエリのサポートを追加しました。
  • 強力な一貫性のサポートを追加しました。
  • 直接接続を使用する際の名前ベースの要求のサポートを追加しました。
  • すべての要求再試行で ActivityId の一貫性が維持されるように修正しました。
  • 同じ名前のコレクションを再作成する際のセッション キャッシュに関連するバグを修正しました。
  • ジオフェンシング空間クエリに対してコレクションのインデックス作成ポリシーを指定する際の Polygon および LineString データ型を追加しました。
  • Java 1.8 の Java ドキュメントに関する問題を修正しました。

1.8.1

  • 単一のパーティション コレクションをキャッシュし、パーティション キーの要求は余計にフェッチしないように、PartitionKeyDefinitionMap のバグを修正しました。
  • 無効なパーティション キー値が指定された場合に再試行されないように、バグを修正しました。

1.8.0

  • 複数リージョンのデータベース アカウントのサポートを追加しました。
  • 最大再試行回数と最大再試行待機時間をカスタマイズするオプションと共に、調整された要求での自動再試行のサポートを追加しました。 詳細については、RetryOptions と ConnectionPolicy.getRetryOptions() を参照してください。
  • IPartitionResolver に基づくカスタム パーティション分割コードを非推奨にしました。 より高いストレージとスループットを得るためのパーティション分割コレクションを使用します。

1.7.1

  • レート制限の再試行ポリシー サポートを追加しました。

1.7.0

  • ドキュメントの有効期限 (TTL) サポートを追加しました。

1.6.0

1.5.1

  • HashPartitionResolver のバグを修正し、他のソフトウェア開発キット (SDK) と一貫性を保つよう、リトル エンディアンでハッシュ値を生成しました。

1.5.0

  • ハッシュおよび範囲パーティション リゾルバーを追加して、複数のパーティションにわたってシャーディング アプリケーションを支援します。

1.4.0

  • Upsert を実装します。 Upsert 機能をサポートするために新しい upsertXXX メソッドが追加されました。
  • ID ベースのルーティングを実装します。 パブリック API の変更なし、すべて内部の変更。

1.3.0

  • 他の SDK とバージョン番号をそろえるため、このリリースはスキップされました

1.2.0

  • 地理空間インデックスをサポートします。
  • すべてのリソースの ID プロパティを検証します。 リソースの ID には、スペースを/含めたり、#\文字を含?めたり、末尾にスペースを入れたりすることはできません。
  • ResourceResponse に新しいヘッダーの「インデックス変換の進行状況」を追加します。

1.1.0

  • V2 インデックス作成ポリシーを実装する

1.0.0

  • GA SDK

リリース日と提供終了日

Microsoft は、新しい/サポートされるバージョンに速やかに移行する目的で、SDK の提供終了を少なくともその 12 か月前に通知します。 新しい機能や機能性、および最適化は、現在の SDK にのみ追加されます。 できるだけ早く最新の SDK バージョンに常にアップグレードすることをお勧めします。

警告

2020 年に 30 を過ぎると、Azure Cosmos DB はバグ修正を行い、新機能を追加し、バージョン 1.x の Azure Cosmos DB Java SDK for API for NoSQL をサポートしなくなります。 アップグレードしない場合でも、SDK バージョン 1.x から送信される要求は、引き続き Azure Cosmos DB サービスによって処理されます。

2016 年 2 月 29 日以降、Azure Cosmos DB では、Azure Cosmos DB Java SDK for API for NoSQL バージョン 0.x に対するバグ修正、新機能の追加、サポートの提供は行われません。 アップグレードしない場合でも、SDK バージョン 0.x から送信される要求は、引き続き Azure Cosmos DB サービスによって処理されます。

Version リリース日 提供終了日
2.6.1 2020 年 12 月 17 日 2024 年 2 月 29 日
2.6.0 2020 年 7 月 16 日 2024 年 2 月 29 日
2.5.1 2020 年 6 月 3 日 2024 年 2 月 29 日
2.5.0 2020 年 5 月 12 日 2024 年 2 月 29 日
2.4.7 2020 年 2 月 20 日 2024 年 2 月 29 日
2.4.6 2020 年 1 月 24 日 2024 年 2 月 29 日
2.4.5 2019 年 11 月 10 日 2024 年 2 月 29 日
2.4.4 2019 年 10 月 24 日 2024 年 2 月 29 日
2.4.2 2019 年 9 月 26 日 2024 年 2 月 29 日
2.4.1 2019 年 7 月 18 日 2024 年 2 月 29 日
2.4.0 2019 年 5 月 4 日 2024 年 2 月 29 日
2.3.0 2019 年 4 月 24 日 2024 年 2 月 29 日
2.2.3 2019 年 4 月 16 日 2024 年 2 月 29 日
2.2.2 2019 年 4 月 5 日 2024 年 2 月 29 日
2.2.0 2019 年 3 月 27 日 2024 年 2 月 29 日
2.1.3 2019 年 3 月 13 日 2024 年 2 月 29 日
2.1.2 2019 年 3 月 9 日 2024 年 2 月 29 日
2.1.1 2018 年 12 月 13 日 2024 年 2 月 29 日
2.1.0 2018 年 11 月 20 日 2024 年 2 月 29 日
2.0.0 2018 年 9 月 21 日 2024 年 2 月 29 日
1.16.4 2018 年 9 月 10 日 2020 年 5 月 30 日
1.16.3 2018 年 9 月 9 日 2020 年 5 月 30 日
1.16.2 2018 年 6 月 29 日 2020 年 5 月 30 日
1.16.1 2018 年 5 月 16 日 2020 年 5 月 30 日
1.16.0 2018 年 3 月 15 日 2020 年 5 月 30 日
1.15.0 2017 年 11 月 14 日 2020 年 5 月 30 日
1.14.0 2017 年 10 月 28 日 2020 年 5 月 30 日
1.13.0 2017 年 8 月 25 日 2020 年 5 月 30 日
1.12.0 2017 年 7 月 11 日 2020 年 5 月 30 日
1.11.0 2017 年 5 月 10 日 2020 年 5 月 30 日
1.10.0 2017 年 3 月 11 日 2020 年 5 月 30 日
1.9.6 2017 年 2 月 21 日 2020 年 5 月 30 日
1.9.5 2017 年 1 月 31 日 2020 年 5 月 30 日
1.9.4 2016 年 11 月 24 日 2020 年 5 月 30 日
1.9.3 2016 年 10 月 30 日 2020 年 5 月 30 日
1.9.2 2016 年 10 月 28 日 2020 年 5 月 30 日
1.9.1 2016 年 10 月 26 日 2020 年 5 月 30 日
1.9.0 2016 年 10 月 3 日 2020 年 5 月 30 日
1.8.1 2016 年 6 月 30 日 2020 年 5 月 30 日
1.8.0 2016 年 6 月 14 日 2020 年 5 月 30 日
1.7.1 2016 年 4 月 30 日 2020 年 5 月 30 日
1.7.0 2016 年 4 月 27 日 2020 年 5 月 30 日
1.6.0 2016 年 3 月 29 日 2020 年 5 月 30 日
1.5.1 2015 年 12 月 31 日 2020 年 5 月 30 日
1.5.0 2015 年 12 月 4 日 2020 年 5 月 30 日
1.4.0 2015 年 10 月 5 日 2020 年 5 月 30 日
1.3.0 2015 年 10 月 5 日 2020 年 5 月 30 日
1.2.0 2015 年 8 月 5 日 2020 年 5 月 30 日
1.1.0 2015 年 7 月 9 日 2020 年 5 月 30 日
1.0.1 2015 年 5 月 12 日 2020 年 5 月 30 日
1.0.0 2015 年 4 月 7 日 2020 年 5 月 30 日
0.9.5-prelease 2015 年 3 月 9 日 2016 年 2 月 29 日
0.9.4-prelease 2015 年 2 月 17 日 2016 年 2 月 29 日
0.9.3-prelease 2015 年 1 月 13 日 2016 年 2 月 29 日
0.9.2-prelease 2014 年 12 月 19 日 2016 年 2 月 29 日
0.9.1-prelease 2014 年 12 月 19 日 2016 年 2 月 29 日
0.9.0-prelease 2014 年 12 月 10 日 2016 年 2 月 29 日

よく寄せられる質問

SDK の提供終了はどのような方法で通知されますか?

サポートされる SDK に速やかに移行できるように、提供終了となる SDK のサポート終了は 12 か月前に通知されます。 さらに、Azure portal、Azure の更新情報、担当サービス管理者への直接連絡など、さまざまな連絡手段で通知します。

その 12 か月間、提供終了予定の Azure Cosmos DB SDK でアプリケーションを作成できますか?

はい。12 か月の通知期間中も、提供終了予定の Azure Cosmos DB SDK でアプリケーションを作成、デプロイ、変更することができます。 この 12 か月の通知期間中、適宜、新しくサポートされるバージョンの Azure Cosmos DB SDK に移行することが推奨されます。

提供終了日以降、サポートされていない Azure Cosmos DB SDK を使用するアプリケーションはどうなりますか?

提供終了日以降、Azure Cosmos DB により、提供終了になった SDK のバージョンに対してバグ修正、新機能の追加、サポートの提供は行われません。 アップグレードしない場合でも、提供終了になった SDK のバージョンから送信される要求は、引き続き Azure Cosmos DB サービスによって処理されます。

最新の機能と更新プログラムがあるのは、どの SDK バージョンですか?

新機能と更新プログラムは、サポートされている最新の SDK のメジャー バージョンの最新のマイナー バージョンにのみ追加されます。 新機能、パフォーマンスの向上、バグ修正を利用するには、常に最新バージョンを使用することをお勧めします。 提供終了していない古いバージョンの SDK を利用している場合、Azure Cosmos DB への要求は引き続き機能しますが、新しい機能にはアクセスできません。

期限前にアプリケーションを更新できない場合、どうすればよいですか?

可能な限り早く最新の SDK にアップグレードすることが推奨されます。 SDK が提供終了予定になると、アプリケーションを更新するために 12 か月が与えられます。 提供終了日までに更新できない場合、提供終了になったバージョンの SDK から送信された要求は引き続き Azure Cosmos DB によって処理されるため、実行中のアプリケーションは引き続き機能します。 ただし、Azure Cosmos DB では、提供終了になった SDK のバージョンに対してバグ修正、新機能の追加、サポートの提供は行われません。

サポート プランをお持ちでテクニカル サポートが必要な場合は、サポート チケットを提出して、お問い合わせください

SDK またはコネクタへの機能の追加リクエストはどのようにして行えばよいですか?

すべての SDK またはコネクタに新機能がすぐ追加されるとは限りません。 サポートされていない機能の追加を希望する場合は、コミュニティ フォーラムにフィードバックをお寄せください。